package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc ImplementTaskReportProgressAndTargetDataComReqDto
 * @使用场景
 */
@Data
public class ImplementTaskReportProgressAndTargetDataComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 主树进度值计算公式标识
   */
  @ApiModelProperty("主树进度值计算公式标识")
  private String evaProgressCalcCode;

  /**
   * 主树实际值计算公式标识
   */
  @ApiModelProperty("主树实际值计算公式标识")
  private String evaActualCalcCode;

  /**
   * 汇报预算元素
   */
  @ApiModelProperty("汇报预算元素")
  private Long budgetAmountElement;

  /**
   * 进度值（数值）
   */
  @ApiModelProperty("进度值（数值）")
  private Double progressValue;

  /**
   * 实际值（数值）
   */
  @ApiModelProperty("实际值（数值）")
  private Double actualValue;

  /**
   * 预算支出金额
   */
  @ApiModelProperty("预算支出金额")
  private Double budgetDisburse;

  /**
   * 冗余指标业务类型 NUMBER_GROWTH:数量增长型 NUMBER_DECLINE:数量降幅型 PERCENTAGE_GROWTH:百分比增长型 PERCENTAGE_DECLINE:百分比降幅型 PROGRESS:进度型 RATIO_GROWTH:比率增长型 RATIO_DECLINE:比率降幅型 SUBJECTIVE_QUALITATIVE:主观定性
   */
  @ApiModelProperty("冗余指标业务类型")
  private String targetValueType;

  /**
   * 成果汇报进度录入方式
   */
  @NotNull(message = "成果汇报进度录入方式不能为空")
  @ApiModelProperty("成果汇报进度录入方式")
  private String reportProgressEnterMethod;

}
